using Net35.Xrm.Sdk.Query;
using System;
using System.Runtime.Serialization;
namespace Net35.Xrm.Sdk.Metadata.Query
{
	[DataContract(Name = "MetadataQueryExpression", Namespace = "http://schemas.microsoft.com/xrm/2011/Metadata/Query"), KnownType(typeof(EntityQueryExpression)), KnownType(typeof(RelationshipQueryExpression)), KnownType(typeof(AttributeQueryExpression)), KnownType(typeof(LabelQueryExpression))]
	public abstract class MetadataQueryExpression : MetadataQueryBase
	{
		[DataMember]
		public MetadataFilterExpression Criteria
		{
			get;
			set;
		}
		[DataMember]
		public MetadataPropertiesExpression Properties
		{
			get;
			set;
		}
		protected MetadataQueryExpression()
		{
			this.Criteria = new MetadataFilterExpression(LogicalOperator.And);
		}
	}
}
